package cn.scnu.mapper;

import cn.scnu.model.dto.DsMonthDTO;
import cn.scnu.model.dto.ZjzmjCountGroupByCsDTO;
import cn.scnu.model.dto.ZjzmjCountGroupByLgDTO;
import cn.scnu.model.dto.ZjzmjMonthDTO;
import cn.scnu.model.entity.ProjectAcceptanceEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author hqzqaq
 * @since 2024-11-22
 */
@Mapper
public interface ProjectAcceptanceMapper extends BaseMapper<ProjectAcceptanceEntity> {

    Double getJdmjCount();

    Double getZjzmjCount();

    Double getJzgdCount();

    @Select("SELECT DISTINCT jzjg FROM 工程成果_验收")
    List<String> selectDistinctJzjg();

    List<String> selectDistinctFwgn(String fwgn);

    List<String> getSearchList(String field, String value);

    String getWktForSmid(Integer smid);

    List<String> getWktForSmids(List<Integer> smids);

    Double getZjzmjSumByDistrict(String geometry);

    Integer getDsSumByDistrict(String geometry);

    List<ZjzmjMonthDTO> getMonthCountForZjzmj(Integer year);

    List<DsMonthDTO> getMonthCountForDs(Integer year);

    List<ZjzmjCountGroupByLgDTO> getZjzmjCountGroupByLg();

    List<ZjzmjCountGroupByCsDTO> getZjzmjCountGroupByCs();

    List<Integer> getYearsForWcsj();
}
